package com.xnyzc.lhy.order.service.approval;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.order.entity.approval.OaApprovalTask;
import com.xnyzc.lhy.order.entity.param.approval.ApprovalOperationParam;

/**
 * <p>
 * 审批任务表 服务类
 * </p>
 *
 * @author huxuekuo
 * @since 2019-08-07
 */
public interface IOaApprovalTaskService extends IService<OaApprovalTask> {


    /**
     * 提交申请单，初始化审批任务
     * @param userId
     * @param orderNo
     * @param applyMatter
     * @return
     */
    void initApprovalTask(Long userId,String orderNo,Integer applyMatter);

    /**
     * 审批人审批操作
     * @param approvalOperationParam
     * @return
     */
    Rv approvalOperation(ApprovalOperationParam approvalOperationParam);

    /**
     * 申请人取消申请或催审批
     * @param orderNo
     * @param operationType
     * @return
     */
    Rv applyUserOperation(String orderNo, Integer operationType);
}
